* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  font-family: SourceHanSansCN-Regular;
}
a {
  text-decoration: none
}
li {
  display: flex;
  list-style: none
}
input, button, textarea {
  border: none;
  outline: none;
  font-size: 16px;
}
.flex(@align: center, @justify: center) {
  display: flex;
  align-items: @align;
  justify-content: @justify;
}
.text-overflow(@width: 100%) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: @width
}
footer {
  height: 48px;
  text-align: center;
  line-height: 48px;
  background: #152f5b;
  color: rgba(255, 255, 255, .71)
}
.font-medium {
  font-weight: 500;
}
.font-bold {
  font-weight: bold;
}
@font-face {
  font-family: SourceHanSansCN-Regular;
  src: url("../fonts/SourceHanSansCN-Normal_0.otf");
}
[v-cloak] {
  display: none;
}
.required {
  color: red;
}
.text-overflow-break(@count: 2) {

  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: @count;
  -webkit-box-orient: vertical;
}
.common-header {
  margin: 0 auto;
  width: 1300px;
  height: 90px;
  background-color: #ffffff;
  .flex;
  justify-content: space-between;
  font-size: 16px;
  font-family: SourceHanSansCN-Regular;
  img {

  }
  .nav {
    .flex;
    & > a {
      position: relative;
      width: 90px;
      .flex;
      height: 90px;
      margin-right: 20px;
      color: #333;
      font-weight: bold;
      &:not(.btn):hover {
        .active
      }
      &.active {
        //background-image: linear-gradient(to bottom, transparent, #e8efff);
        background: #f8faff;
        color: #0388f7;
        &::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 4px;
          background: #0388f7;
        }
      }
    }
    .btn {
      margin-right: 0;
      .flex;
      margin-left: 16px;
      width: 80px;
      height: 40px;
      background-color: #0388f7;
      border-radius: 4px;
      color: #fff;
      &.register {
        background: #fb9c21;
      }
    }
    .dropdown {
      position: relative;
      .flex;
      cursor: pointer;
      &:hover {
        .dropdown-menu {
          display: block;
        }
      }
      .avatar {
        width: 40px;
        height: 40px;
        background-color: #0388f7;
        border-radius: 20px;
      }
      .username {
        margin: 0 18px;
        color: #999999;
      }
    }
    .dropdown-menu {
      width: 150px;
      display: none;
      top: 90px;
      left: 0;
      padding: 13px 0;
      border-radius: 8px;
      position: absolute;
      z-index: 3;
      background: #fff;
      box-shadow: 0 0 20px rgba(0, 0, 0, .4);
      &::after {
        content: '';
        position: absolute;
        left: 50%;
        top: -26px;
        border-color: transparent;
        transform: translateX(-50%);
        border: 13px solid transparent;
        border-bottom-color: #fff;
      }
      &::before {
        content: '';
        width: 100%;
        position: absolute;
        left: 0;
        top: -50px;
        height: 50px;
      }
      a {
        position: relative;
        padding: 10px 19px;
        margin-right: 0;
        &:hover {
          background: rgb(245, 245, 245);
        }
        img {
          margin-right: 8px;
        }
        .flex(flex-start);
        justify-content: flex-start;
        font-size: 14px;
        color: #666666;
        .badge {
          .flex;
          padding: 0 6px;
          left: 80px;
          top: 0;
          position: absolute;
          height: 16px;
          background-color: #ff3b3b;
          border-radius: 8px;
          color: #fff;
          font-size: 14px;
          .font-medium;
          z-index: 2;
        }
      }
      .log-out {
        .flex;
        padding: 0;
        margin: 0 auto;
        margin-top: 10px;
        justify-content: center;
        width: 77px;
        height: 27px;
        background-color: #ffebeb;
        border-radius: 3px;
        font-size: 12px;
        color: #ff6666;
        &:hover {
          background: #ffebeb;
        }
      }
    }
  }
}
.common-footer {
  background: #fff;
  .contact-content {
    padding: 38px 0;
    width: 1200px;
    background: #fff;
    margin: 0 auto;
    .flex;
    justify-content: space-between;
    .left {
      flex: 1;
      .sub-title {
        margin-bottom: 16px;
        .flex;
        justify-content: flex-start;
        color: #999;
        img {
          margin-right: 10px;
        }
      }
      .phone-number {
        margin-bottom: 40px;
        font-size: 30px;
        color: #333;
        font-weight: 500;
      }
      .address {
        .flex;
        justify-content: flex-start;
        color: #999;
        .mail, .location {
          margin-right: 50px;
          a {
            color: #999
          }
          img {
            margin-right: 10px;
          }
          span {
            font-weight: 500;
            color: #333;
          }
        }
      }
    }
    .right {
      .flex;
      .code-item {
        text-align: center;
        color: #999999;
        &:first-of-type {
          margin-right: 80px;
        }
        img {
          margin: 0 auto;
          width: 130px;
          height: 130px;
          display: block;
          margin-bottom: 24px;
        }
      }
    }
  }
}

.modal {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: fixed;
  z-index: 3;
  background: rgba(0, 0, 0, .5);
  .modal-content {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    padding: 34px 54px;
    background-color: #ffffff;
    border-radius: 8px;
    & > .title {
      .font-medium;
      text-align: center;
      margin-bottom: 30px;
      font-size: 22px;
      color: #333333;
    }
    .modal-footer {
      margin-top: 30px;
      .flex;
      justify-content: center;
      a {
        .flex;
        justify-content: center;
        width: 122px;
        height: 50px;
        background-image: linear-gradient(80deg,
        #58adff 0%,
        #1dd5da 100%),
        linear-gradient(
                #34c6c6,
                #34c6c6);
        background-blend-mode: normal,
        normal;
        box-shadow: -6px 4px 12px 0px
        rgba(47, 185, 189, 0.31);
        border-radius: 25px;
        color: #fff;
        font-size: 20px;
        &.cancel-btn {
          margin-left: 40px;
          background: #c6c8c8;
          color: #fff;
        }
      }
    }
  }
  .close-icon {
    left: 50%;
    transform: translateX(-50%);
    bottom: -100px;
    position: absolute;
  }
}
.empty {
  padding: 100px;
  text-align: center;
  font-size: 14px;
  color: #999;
  background: #fff;
  border-radius: 10px;
  .text {
    margin-top: 10px;
  }
}
.fade-enter-active, .fade-leave-active {
  transition: opacity .3s ease;
}
.fade-enter, .fade-leave-active {
  opacity: 0;
}
